Venkat Akella found out that libcurl did not like HTTP responses that simply responded with a single status line and no headers nor body. Starting now, a HTTP response on a persistent connection (i.e not set to be closed after the response has been taken care of) must have Content-Length or chunked encoding set, or libcurl will simply assume that there is no body. To my horror I learned that we had no less than 57(!) test cases that did bad HTTP responses like this, and even the test http server (sws) responded badly when queried by the test system if it is the test system. So although the actual fix for the problem was tiny, going through all the newly failing test cases got really painful and boring.
diff --git a/RELEASE-NOTES b/RELEASE-NOTES index 31fb48e..5bccf5c 100644 --- a/RELEASE-NOTES +++ b/RELEASE-NOTES
@@ -23,6 +23,8 @@ o SIGSEGV when disconnecting on a transfer on a re-used handle when the host name didn't resolve o stack overwrite on 64bit Windows in the chunked decoding department + o HTTP responses on persistent connections without Content-Length nor chunked + encoding are now considered to be without response body Other curl-related news: @@ -38,6 +40,6 @@ advice from friends like these: James Housley, Olaf Stueben, Yang Tse, Gisle Vanem, Bradford Bruce, - Ciprian Badescu, Dmitriy Sergeyev, Nir Soffer + Ciprian Badescu, Dmitriy Sergeyev, Nir Soffer, Venkat Akella Thanks! (and sorry if I forgot to mention someone)